/*
    位运算实现加减乘除

    前置知识：讲解003-二进制和位运算
    特别提醒：Python的同学实现位运算的题目需要特别注意，需要自己去手动处理溢出和符号扩展等问题
    比如：(n << shift_amount) & 0xFFFFFFFF

    位运算实现加减乘除，过程中不能出现任何算术运算符

    加法：利用每一步无进位相加的结果 + 进位的结果不停计算，直到进位消失
    减法：利用加法，和一个数字x相反数就是(~x)+1
    乘法：回想小学时候怎么学的乘法，除此之外没别的了
    除法：为了防止溢出，让被除数右移，而不是除数左移。从高位尝试到低位。

*/